﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ED_Nivelacion.Datos;

namespace ED_Nivelacion.Negocios
{
    public class Tutor_C
    {
        ED_NivelacionEntities _objEntity = new ED_NivelacionEntities();

        public List<Tutor> ObtenerTutoria()
        {
            List<Tutor> ListaTutor = new List<Tutor>();
            try
            {
                foreach (var item in _objEntity.SP_ConsultarTutor())
                {

                    ListaTutor.Add(new Tutor { idTutor = item.idTutor, idPersona = item.idPersona, Nombre = item.Nombre, Apellido = item.Apellido, Cedula = item.Cedula });
                }

                return ListaTutor;
            }
            catch (Exception)
            {
                return ListaTutor;
            }
        }

        public List<Tutor> ObtenerTutor()
        {
            List<Tutor> ListaTutor = new List<Tutor>();
            try
            {
                foreach (var item in _objEntity.SP_ObtenerTutoria())
                {

                    ListaTutor.Add(new Tutor { idTutor = item.idTutor, Nombre = item.Nombre, Apellido = item.Apellido, Jornada = item.Jornada, Nombre_Periodo = item.Nombre_Periodo, idDistribucion_Jornada= item.idDistribucion_Jornada });
                }

                return ListaTutor;
            }
            catch (Exception)
            {
                return ListaTutor;
            }
        }

        public List<Tutoria> ObtenerTutorCombo()
        {
            List<Tutoria> ListaTutor = new List<Tutoria>();
            try
            {
                foreach (var item in _objEntity.SP_ConsultarTutor())
                {
                    var Nombres = item.Nombre + " " + item.Apellido;

                    ListaTutor.Add(new Tutoria { idTutor = item.idTutor, Nombres = Nombres });
                }

                return ListaTutor;
            }
            catch (Exception)
            {
                return ListaTutor;
            }
        }

        public List<Tutor> FiltrarTutor(int _idPersona)
        {
            List<Tutor> ListaTutor = new List<Tutor>();
            try
            {
                var item = _objEntity.SP_FiltrarTutorDocente(_idPersona).FirstOrDefault();

                ListaTutor.Add(new Tutor { idTutor = item.idTutor, Nombre = item.Nombre, Apellido = item.Apellido, Jornada = item.Jornada, Nombre_Periodo = item.Nombre_Periodo, idJornada = item.idJornada });


                return ListaTutor;
            }
            catch (Exception)
            {

                return ListaTutor;
            }
            
        }


        public string AgregarTutor(Tutor _obj)
        {
            string msm = "OK";
            var Docente = _objEntity.SP_ConsultarTutor().Where(c => c.idPersona == _obj.idPersona);
            try
            {
                if (Docente.Count() == 0)
                {
                    _objEntity.SP_InsertarTutor(_obj.idPersona);
                }
                else {
                    msm = "Ingresado";
                }
            }
            catch (Exception)
            {

                msm = "Error al Ingresar";
            }

            return msm;

        }

        public string EditarTutor(Tutor _obj)
        {
            string msm = "OK";
            try
            {
                _objEntity.SP_ActualizarTutor(_obj.idTutor, _obj.idPersona);
            }
            catch (Exception)
            {

                msm = "Error al Actualizar";
            }

            return msm;
        }

        public string EliminarTutor(int _idTutor)
        {
            string msm = "OK";
            try
            {
                _objEntity.SP_EliminarTutor(_idTutor);
            }
            catch (Exception)
            {

                msm = "Error al Eliminar";
            }

            return msm;
        }

        //public object AgregarTutor(global::ED_Nivelacion.PresentacionWeb.Tutor _objTutor)
        //{
        //    throw new NotImplementedException();
        //}
    }
}
